// 角色测试

#ifndef TEST_PEOPLE_H_
#define TEST_PEOPLE_H_

#include <SDL.h>

#include "character.h"
#include "animation.h"
#include "rigid_body.h"
#include "events_manager.h"
#include "collision_box.h"
#include "vector2d.h"

namespace alice {

constexpr double kJumpTime = 15.0f;
constexpr double kJumpForce = 15.0f;
constexpr double kAttackTime = 30.0f;
constexpr double kRunForce = 4.0f;

class People : public Character {
  public:
    People(Properties* props);
    
    virtual void Draw();
    virtual void Update(double delta_time);
    virtual void Clean();

  private:
    void AnimationState();

  private:
    Animation animation_;
    RigidBody rigid_body_;
    CollisionBox collision_box_;

    bool is_jumping_;
    bool is_grounded_;
    bool is_runnning_;
    bool is_falling_;
    bool is_attacking_;

    double jump_time_;
    double jump_force_;
    double attack_time_;

    Vector2D last_safe_position_;
    SDL_RendererFlip flip_;
};

}

#endif // TEST_PEOPLE_H_